NuttX: платформа для безпілотних авіаційних систем

Автор: Максим Сохацький
Старший наукових дослідник НТУУ "КПІ".

Безпілотні авіаційні системи (UAV/MAV/NAV) відіграють ключову роль в оборонній промисловості України, зокрема в контексті Сил безпілотних систем Збройних Сил України, створених у 2024 році. Операційні системи (ОС) для таких систем мають забезпечувати жорсткий реальний час, високу портативність, енергоефективність і надійність для критичних застосувань, таких як платформа PX4 та розподілений мультикаст UDP протокол і архітектура Skynet.

У попередніх статтях я розглядав NetBSD, BeOS і NewOS, які підтримують лише м’який реальний час і тому не дуже відповідають вимогам для керування UAV/MAV/NAV через недостатню швидкість реакції, але підходять у якості порівняння архітектури та мінімалістичності. Ця глава аналізує операційні системи жорсткого реального часу — TRON, LK і NuttX — як потенційні платформи для UAV, з акцентом на їх використання в сучасній індустрії та мотивацію її вибору як основної платформи для оборонних технологій в архітектурній компанії Максима Сохацького.

Критерії порівняння

Для оцінки ОС використано такі критерії:

Жорсткий реальний час: здатність обробляти задачі з мінімальними та передбачуваними затримками. Портативність: адаптація до апаратних платформ, таких як ARM, RISC-V, що використовуються в UAV. Енергоефективність: оптимізація для низького енергоспоживання в автономних системах. Надійність: стабільність у критичних умовах експлуатації. Сумісність із PX4/Skynet: інтеграція з фреймворками для безпілотних систем. Використання в індустрії: популярність і підтримка провідними технологічними компаніями. Ліцензування: придатність для оборонних проєктів із вимогами до безпеки та модифікацій.

TRON

TRON (The Real-time Operating system Nucleus), зокрема його похідна μITRON, розроблена в Японії, відома своєю підтримкою жорсткого реального часу для вбудованих систем.

Історична довідка. TRON, започаткована в 1984 році Кеном Сакамурою, стала домінуючою ОС у вбудованих системах Японії. У 2003 році ITRON була найпоширенішою ОС у світі, присутньою в мільярдах пристроїв, включаючи мобільні телефони, побутову техніку та автомобільні системи. NEC, один із перших користувачів (з 1985 року), інтегрувала ITRON у телекомунікаційні пристрої та побутову електроніку, контролюючи значну частку ринку. За даними TRON Forum, до 2016 року ITRON утримував близько 60% японського ринку вбудованих систем. Fujitsu, Hitachi, Mitsubishi Electric і Toyota також використовували ITRON у цифрових камерах, автомобільних системах (наприклад, Toyota для керування двигунами) і промисловій автоматизації. T-Kernel, наступник ITRON, був прийнятий Seiko Epson для принтерів Colorio у 2008 році. Однак обмежена англійська документація та перехід до T-Kernel знизили глобальну популярність ITRON.

Висновки. μITRON забезпечує передбачувані затримки на рівні мікросекунд, що ідеально для керування UAV. Підтримує ARM, RISC-V, MIPS та інші архітектури, що відповідає потребам сучасних дронів. Легковажна мікроядерна архітектура мінімізує енергоспоживання. Перевірена в промислових системах, але менш поширена в оборонних застосуванях. Сумісність з PX4/Skynet Обмежена через специфічну екосистему та брак готових інструментів для інтеграції. Поєднання пропрієтарних і відкритих ліцензій, що може ускладнювати використання в оборонних проєктах. TRON є потужною платформою, але її обмежена сумісність із сучасними фреймворками та спад популярності роблять її менш привабливою для UAV.

LK

LK — компактне ядро, розроблене для вбудованих систем, що використовується в проєктах Google, таких як Android і Fuchsia.

Історична довідка. LK, створене Тревісом Гейслером, набуло популярності завдяки Google, яка використовує його в бутлоадерах Android і як основу для Fuchsia. Хоча точні дані про обсяги використання відсутні, LK застосовується в мільйонах Android-пристроїв, включаючи смартфони та IoT-продукти. NVIDIA також використовує LK у своїх вбудованих системах, таких як платформи Jetson для AI та робототехніки. За оцінками, LK охоплює значну частку ринку вбудованих систем завдяки своїй легкості та підтримці ARM-архітектур, але менш поширена в порівнянні з ITRON чи NuttX у спеціалізованих UAV-додатках. Відкрита природа LK сприяла його адаптації в різних секторах, але основна підтримка зосереджена на проєктах Google.

Висновки. LK забезпечує жорсткий реальний час, придатний для критичних задач керування дронами. Підтримує ARM, RISC-V та інші архітектури, що відповідає потребам UAV. Мінімалістичний дизайн забезпечує низьке енергоспоживання. Висока надійність, перевірена в комерційних проєктах Google, але потребує додаткових модулів для повноцінної ОС. Хороша сумісність, завдяки модульній структурі, але потребує адаптації для PX4/Skynet. Відкрита MIT-ліцензія, що сприяє модифікаціям і використанню в оборонних проєктах. LK є перспективною платформою, але потребує додаткових зусиль для створення повноцінної екосистеми для UAV.

NuttX

NuttX — операційна система реального часу, розроблена для вбудованих систем, що є основою для PX4 і активно використовується в дронах.

Історична довідка. NuttX, розроблена Грегорі Нуттом у 2007 році, набула популярності завдяки підтримці Sony у IoT-пристроях, зокрема камерах, сенсорах і комерційних аудіопристроях (Walkman, Recorder ICD-SX2000). NuttX є основною ОС для PX4, що використовується в комерційних і оборонних дронах, таких як ті, що застосовуються в Україні. За даними спільноти PX4, NuttX домінує в автопілотах для дронів, охоплюючи значну частку ринку завдяки своїй легкості та POSIX-сумісності. Sony використовує NuttX у своїх продуктах для обробки даних у реальному часі, а також у проєктах, пов’язаних із робототехнікою та IoT. Відкрита природа NuttX та активна спільнота сприяють її швидкому розвитку та адаптації в нових секторах, включаючи оборонні технології.

Висновки

Забезпечує передбачувані затримки, ідеально для керування UAV/MAV/NAV. Підтримує ARM, RISC-V, MIPS та інші архітектури, що відповідає різноманітним платформам дронів. Легка архітектура оптимізує енергоспоживання для автономних систем. Перевірена в критичних системах, включаючи PX4, що використовується в оборонних дронах. NuttX є основною ОС для PX4, забезпечуючи безшовну інтеграцію, а її модульність сприяє адаптації до Skynet. NuttX, розроблена Грегорі Нуттом у 2007 році, набула популярності завдяки підтримці Sony у IoT-пристроях, зокрема камерах і сенсорах. NuttX є основною ОС для PX4, що використовується в комерційних і оборонних дронах, таких як ті, що застосовуються в Україні. За даними спільноти PX4, NuttX домінує в автопілотах для дронів, охоплюючи значну частку ринку завдяки своїй легкості та POSIX-сумісності. Sony використовує NuttX у своїх продуктах для обробки даних у реальному часі, а також у проєктах, пов’язаних із робототехнікою та IoT. Відкрита природа NuttX та активна спільнота сприяють її швидкому розвитку та адаптації в нових секторах, включаючи оборонні технології. Відкрита BSD-ліцензія міксована з Apache 2.0, що ідеально для оборонних проєктів із вимогами до безпеки. NuttX є оптимальною платформою для UAV завдяки інтеграції з PX4, підтримці Sony та активній спільноті.

NuttX є основною ОС для PX4, що широко використовується в оборонних і комерційних дронах, забезпечуючи швидке розгортання та сумісність із автопілотами, критично важливими для сил безпілотних систем. Використання Sony у IoT і камерах, а також домінування в PX4, підтверджує надійність і масштабованість NuttX, знижуючи ризики для оборонних розробок. Apache ліцензія дозволяє Україні вільно модифікувати NuttX для специфічних оборонних потреб, включаючи інтеграцію з Skynet. NuttX оптимізовано для низького енергоспоживання та підтримує широкий спектр апаратних платформ, що відповідає потребам UAV/MAV/NAV. На відміну від TRON, де брак англійської документації обмежував глобальне поширення, NuttX має активну спільноту та якісну документацію, що полегшує розробку. NuttX зменшує залежність від пропрієтарних рішень, таких як деякі реалізації TRON, і дозволяє будувати власну екосистему для оборонних технологій.

Серед ОС жорсткого реального часу — TRON, LK і NuttX — остання є оптимальною платформою для безпілотних систем завдяки інтеграції з PX4, підтримці Sony та активній спільноті. TRON, попри історичну популярність завдяки NEC, Fujitsu, Hitachi і Toyota, втрачає актуальність через обмежену сумісність із сучасними фреймворками. LK, підтримувана Google і NVIDIA, є перспективною, але потребує додаткових зусиль для адаптації. NuttX, з її доведеною ефективністю в оборонних дронах і відкритою ліцензією, є ідеальним вибором для України як національна платформа, що забезпечує технологічну незалежність і швидке розгортання в умовах війни та післявоєнного відновлення.